home *** CD-ROM | disk | FTP | other *** search
/ Zoom 2 / Zoom - Release 2 (1996)(Active Software)[!].iso / programming / amiga / muibuilder / mb / developer / c / sources_gencodec / textfield.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-10-29  |  1.9 KB  |  76 lines

  1.  
  2. #include "TextField.h"
  3.  
  4. #define MUIA_Boopsi_Smart 0x8042b8d7 /* V9 i.. BOOL */
  5.  
  6. struct Library *TextFieldBase;
  7. Class *TextFieldClass;
  8.  
  9. int _STI_200_TextFieldInit(void)
  10. {
  11.    TextFieldBase = OpenLibrary("gadgets/textfield.gadget", 0);
  12.    if (TextFieldBase) {
  13.       TextFieldClass = TEXTFIELD_GetClass();
  14.       return 0;
  15.    } else {
  16.       return 1;
  17.    }
  18. }
  19.  
  20. void _STD_200_TextFieldTerm(void)
  21. {
  22.    CloseLibrary(TextFieldBase);
  23.    TextFieldClass = NULL;
  24.    TextFieldBase = NULL;
  25. }
  26.  
  27.  
  28. struct ObjTextField * CreateTextField( void )
  29. {
  30.   struct ObjTextField * Object;
  31.   
  32.   if (!(Object = AllocVec( sizeof( struct ObjTextField ), MEMF_PUBLIC|MEMF_CLEAR )))
  33.     return( NULL );
  34.   
  35.   Object->textfield = HGroup,
  36.     MUIA_Group_HorizSpacing, 0,
  37.     Child, Object->text = BoopsiObject,
  38.       InputListFrame,
  39.       MUIA_Background, MUII_BACKGROUND,
  40.       MUIA_Boopsi_Class, TextFieldClass,
  41.       MUIA_Boopsi_Smart, TRUE,
  42.       MUIA_Boopsi_MinWidth, 20,
  43.       MUIA_Boopsi_MinHeight, 20,
  44.       ICA_TARGET, ICTARGET_IDCMP,
  45.       TEXTFIELD_Text,(ULONG)"",
  46.     End,
  47.     Child, Object->prop = ScrollbarObject, End,
  48.   End;
  49.  
  50.   if (!(Object->textfield))
  51.     {
  52.       FreeVec(Object);
  53.       Object = NULL;
  54.     }
  55.   
  56.   DoMethod(Object->text, MUIM_Notify, TEXTFIELD_Lines, MUIV_EveryTime,
  57.       Object->prop, 3, MUIM_Set, MUIA_Prop_Entries, MUIV_TriggerValue);
  58.   
  59.   DoMethod(Object->text, MUIM_Notify, TEXTFIELD_Visible, MUIV_EveryTime,
  60.       Object->prop, 3, MUIM_Set, MUIA_Prop_Visible, MUIV_TriggerValue);
  61.   
  62.   DoMethod(Object->text, MUIM_Notify, TEXTFIELD_Top, MUIV_EveryTime,
  63.       Object->prop, 3, MUIM_NoNotifySet, MUIA_Prop_First, MUIV_TriggerValue);
  64.   
  65.   DoMethod(Object->prop, MUIM_Notify, MUIA_Prop_First, MUIV_EveryTime,
  66.       Object->text, 3, MUIM_Set, TEXTFIELD_Top, MUIV_TriggerValue);
  67.   
  68.   return( Object );
  69. }
  70.  
  71. void DisposeTextField( struct ObjTextField * Object )
  72. {
  73.   MUI_DisposeObject(Object->textfield);
  74.   FreeVec( Object );
  75. }
  76.